#ifndef OBJECT3D_H
#define OBJECT3D_H

#define MAXPOINTS 5000000
#define MAXLINE 200
#define ROTATION_INCREMENT 0.25

#include <iostream>
#include <vector>

#include "Face.h"
#include "Vertex3D.h"

using namespace std;

class Object3D {

 private:
  vector<Face*> faces;
  vector<Vertex3D*> vertices;

  int nFaces;
  int nVertices;

  GLdouble rotation;
  GLdouble increment;

  GLdouble incrementRotationAngle ();

 public:
  Object3D (const char *path);
  ~Object3D ();

  int numberOfFaces();
  int numberOfVertices();

  void draw();
  void rotate();
  void computeNormals();

};

#endif
